package cn.com.blueInfo.bpm.common.request;

import cn.com.blueInfo.bpm.common.enums.BaseDeleted;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.time.LocalDateTime;

/**
 * @author suxch
 * @since 2025/9/4 19:25
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class BaseQueryDTO extends BaseCommonDTO {

    /** 分页页码 */
    @Min(value = 1, message = "页码不能小于1")
    @Schema(description = "分页页码")
    private Long page = 1L;
    /** 分页条数 */
    @Max(value = 500, message = "每页查询不能超过500条数据")
    @Schema(description = "分页条数")
    private Long size = 10L;
    /** 租户ID */
    @Schema(description = "租户ID")
    private Long tenantId;
    /** 租户系统ID */
    @Schema(description = "租户系统ID")
    private Long applicationId;
    /** 删除状态：1-已删除，0-未删除 */
    @Schema(description = "删除状态：1-已删除，0-未删除")
    private BaseDeleted deleted;
    /** 删除人ID */
    @Schema(description = "删除人ID")
    private Long deleteUserId;
    /** 删除时间_start */
    @Schema(description = "删除时间_start")
    private LocalDateTime startDeleteTime;
    /** 删除时间_end */
    @Schema(description = "删除时间_end")
    private LocalDateTime endDeleteTime;
    /** 创建人ID */
    @Schema(description = "创建人ID")
    private Long createUserId;
    /** 创建时间_start */
    @Schema(description = "创建时间_start")
    private LocalDateTime startCreateTime;
    /** 创建时间_end */
    @Schema(description = "创建时间_end")
    private LocalDateTime endCreateTime;
    /** 更新人ID */
    @Schema(description = "更新人ID")
    private Long updateUserId;
    /** 更新时间_start */
    @Schema(description = "更新时间_start")
    private LocalDateTime startUpdateTime;
    /** 更新时间_end */
    @Schema(description = "更新时间_end")
    private LocalDateTime endUpdateTime;

}
